package com.jumi.microservice.yzhpay.pay.notify;

import com.jumi.microservice.yzhpay.constant.ConfigPath;
import com.jumi.microservice.yzhpay.util.Property;
import lombok.Builder;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

@Getter
@Setter
@ToString
@Builder
public class NotifyResponse {

    /**
     * 时间戳，精确到秒
     **/
    private int timestamp = Integer.parseInt(String.valueOf(System.currentTimeMillis()/1000));

    /**
     * 签名
     **/
    private String sign;

    /**
     * 签名方式，固定值rsa
     **/
    private String sign_type = Property.getProperties(ConfigPath.YZH_SIGN_TYPE);

    /**
     * 随机数，用于签名
     **/
    private String mess;

    /**
     * 经过加密后的具体数据
     **/
    private String data;

    // 获取加密明文
    public String getPlain() {
        return new StringBuffer("data=")
                .append(data)
                .append("&mess=")
                .append(mess)
                .append("&timestamp=")
                .append(timestamp)
                .append("&key=")
                .append(Property.getProperties(ConfigPath.YZH_APPKEY))
                .toString();
    }

}
